﻿#region  文件信息

// ---------------------------------------------------------------------------------------
// <copyright file="PayService.cs" company="">
// 作者：李帅伦
// </copyright>
// <summary>
// 类型简介：
// 类型详细：PayService.cs
// 创建时间：2015-01-08 10:01
// 修改时间：2015-01-08 9:25
// </summary>
// ---------------------------------------------------------------------------------------
#endregion

namespace Payment.ChinaPay
{
    /// <summary>
    /// </summary>
    public class PayService
    {
        #region Fields

        /// <summary>
        /// The net pay.
        /// </summary>
        private readonly NetPay netPay = new NetPay();

        #endregion

        #region Constructors and Destructors

        /// <summary>
        /// 构造.
        /// </summary>
        /// <param name="order">
        /// 订单接口
        /// </param>
        /// <param name="config">
        /// 银联配置文件
        /// </param>
        public PayService(IPayOrder order)
        {
            this.OrdId = order.GetId();
            this.OrdAmt = order.GetTotalFeeInt().ToString("D");
            this.TransAmt = order.GetTotalFeeInt().ToString("D12");
            this.TransDate = order.CreateDateTime().ToString("yyyyMMdd");
            this.TransType = "0001";
            this.Remarks = order.Remarks();
        }

        #endregion

        #region Public Properties

        /// <summary>
        /// 订单交易金额 变长
        /// </summary>
        public string OrdAmt { get; set; }

        /// <summary>
        ///     订单号，长度为16个字节的数字串，由商户系统生成，失败的订单号允许重复支付。
        /// </summary>
        public string OrdId { get; set; }

        /// <summary>
        ///     交易金额，长度为12个字节的数字串，例如：数字串"000000001234"表示12.34元。
        /// </summary>
        public string TransAmt { get; set; }

        /// <summary>
        ///     交易日期，长度为8个字节的数字串，表示格式为：YYYYMMDD。
        /// </summary>
        public string TransDate { get; set; }

        /// <summary>
        ///     交易类型，长度为4个字节的数字串，取值范围为："0001"和"0002"， 其中"0001"表示消费交易，"0002"表示退货交易。
        /// </summary>
        public string TransType { get; set; }

        #endregion

        #region Properties

        /// <summary>
        ///     货币代码, 长度为3个字节的数字串，目前只支持人民币，取值为"156" 。
        /// </summary>
        internal string CuryId
        {
            get
            {
                return "156";
            }
        }

        /// <summary>
        ///     商户号，长度为15个字节的数字串，由ChinaPay分配。
        /// </summary>
        internal string MerId { get; set; }

        /// <summary>
        /// 返回url
        /// </summary>
        public string ReturnUrl { get; set; }

        /// <summary>
        /// 通知url
        /// </summary>
        public string NoticeUrl { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }
        #endregion

    }
}